1. Field of the Invention
The present invention relates to the field of mobile application development, and more particularly to the field of Mobile Information Device Applet (MIDlet) emulation in a desktop environment.
2. Description of the Related Art
Mobile application development has evolved in time from proprietary coding schemes in which applications were developed for a particular host device and stored in fixed media such as a read-only memory (ROM), to portable coding schemes in which an application can be coded in a general purpose programming language and packaged for distribution to any number of compatible mobile devices through a mere extension to a conventional programming environment. The Java™ language MIDlet represents one well-known mobile application development environment. A MIDlet is a Java™ language program for embedded devices, more specifically the Java™ Micro Edition (ME) virtual machine.
Like other Java programs, MIDlets are write once, run anywhere. To facilitate write once, run anywhere, the basic components of any MIDlet suite include a Java Application Descriptor (JAD) file and a Java Archive (JAR) file. The JAD file describes a MIDlet suite including the name of the MIDlet suite, the location and size of the JAR file, and the configuration and profile requirements. The JAD file optionally can include other attributes defined by the Mobile Information Device Profile (MIDP), by the MIDlet developer, or both. The JAR, by comparison, contains one or more MIDlets, specified in the JAD. Finally, a manifest file can be provided within the JAR. The manifest can include the same syntax as the JAD file and can share the same attributes. In addition to the Java class files and the manifest, the JAR file can include other resources including images that the MIDlet can load using the createImage(String) method. The MIDlet can also use getResourceAsStream(String) to access any resource in the JAR file as an InputStream. In both cases, the String argument can include a pathname identifying a resource in the JAR file.
Though MIDlets intend to be executed in a mobile device, MIDlets can be executed on the desktop within an emulation environment. The emulation environment can be fixed in terms of display space and the MIDlet can be contained within the fixed display space. Permitting a MIDlet to execute outside of the display space, however, would be highly desirable given the apparent popularity of desktop widgets in modern computing. In this regard, to deploy a widget in a desktop environment normally requires the presence of a widget engine enabled to process the markup language specified user interface and logic of a widget. In the absence of a widget engine, widgets cannot operate in the desktop environment.
To enable the deployment of a MIDlet in a desktop environment to emulate a widget, first a clip region must be established to provide for event handling for the MIDlet relative to the remainder of the desktop environment. Yet, to enable widget like behavior for MIDlet applications in a desktop environment would require integration with the diaphanous feature of the emulation environment—namely determining how to provide a degree of transparency about the perimeter of the MIDlet application while maintaining a defined clip region for event handling of the MIDlet application in the desktop environment.